package com.jahepi.android.dto;

/* Data Transfer Object */

public class Camion {
	
	private int id;
	private Obra obra;
	private String fotografia;
	private double capacidad, ancho, largo, alto;
	private String placa;
	private Tipo tipo;
	private Propietario propietario;
	
	public int getId() {
		return id;
	}
	
	public void setId(int id) {
		this.id = id;
	}

	public String getFotografia() {
		return fotografia;
	}

	public void setFotografia(String fotografia) {
		this.fotografia = fotografia;
	}

	public double getCapacidad() {
		if(capacidad == 0) {
			return alto * ancho * largo;
		}
		return capacidad;
	}

	public void setCapacidad(double capacidad) {
		this.capacidad = capacidad;
	}

	public Tipo getTipo() {
		return tipo;
	}

	public void setTipo(Tipo tipo) {
		this.tipo = tipo;
	}

	public String getObraId() {
		if(obra != null) {
			return obra.getId();
		}
		return "";
	}
	
	public String getObraNombre() {
		if(obra != null) {
			return obra.getNombre();
		}
		return "";
	}
	
	public String getTipoNombre() {
		if(tipo != null) {
			return tipo.getNombre();
		}
		return "";
	}
	
	public Obra getObra() {
		return obra;
	}
	
	public void setObra(Obra obra) {
		this.obra = obra;
	}
	
	public String getPlaca() {
		return placa;
	}

	public void setPlaca(String placa) {
		this.placa = placa;
	}
	
	public Propietario getPropietario() {
		return propietario;
	}

	public void setPropietario(Propietario propietario) {
		this.propietario = propietario;
	}
	
	public String getPropietarioId() {
		return propietario.getId();
	}
	
	public int getTipoId() {
		if(tipo != null) {
			return tipo.getId();
		}
		return 0;
	}
	
	public double getTipoCubicaje() {
		if(tipo != null) {
			return tipo.getCubicaje();
		}
		return 0;
	}
	
	public String getPropietarioNombre() {
		if(propietario != null) {
			return propietario.getNombre();
		}
		return "";
	}

	public double getAncho() {
		return ancho;
	}

	public void setAncho(double ancho) {
		this.ancho = ancho;
	}

	public double getLargo() {
		return largo;
	}

	public void setLargo(double largo) {
		this.largo = largo;
	}

	public double getAlto() {
		return alto;
	}

	public void setAlto(double alto) {
		this.alto = alto;
	}
	
	public double getM3() {
		double m3 = alto * ancho * largo;
		if(m3 == 0) {
			m3 = getTipoCubicaje();
		}
		return m3;
	}
	
	public String toString() {
		return Integer.toString(id);
	}
	
	public static boolean esValido(Camion camion) {
		if(camion != null) {
			return camion.getTipo() != null && camion.getPropietario() != null && camion.getObra() != null;
		}
		return false;
	}
}
